package com.weishao.dbmapper;

import javax.sql.DataSource;
import com.weishao.dbmapper.pojo.TaskParamEntity;

/**
 * 数据映射引擎接口定义
 * 
 * @author tang
 *
 */
public interface IDatabaseMapperEngine {

	/**
	 * 代码映射异常时是否抛出异常
	 * 
	 * @return 是为true，否则为false
	 */
	boolean isQuietWhenCoderMapperException();

	/**
	 * 设置代码映射异常时是否抛出异常
	 * 
	 * @param quiet 是否抛异常
	 */
	void setQuietWhenCoderMapperException(boolean quiet);

	/**
	 * 设置数据映射引擎的查询端数据源
	 * 
	 * @param sourceDataSource 查询端数据源
	 */
	void setMapperEngineDataSource(DataSource dataSource);

	/**
	 * 执行一个数据映射任务
	 * 
	 * @param task    任务参数实例
	 * @param handler 结果处理器
	 */
	void runMapperTransfer(TaskParamEntity task, IResultRowHandler handler);
}
